import axios from 'axios'
import {store} from '@/app/store'

export const request = axios.create({
    baseURL: 'http://127.0.0.1:8080',
    timeout: 10000
})

// 请求拦截器函数：发送请求之前触发的函数
request.interceptors.request.use((config) => {
    // token从redux中读取
    // 不是组件，不能使用hooks函数读取
    // 添加loading
    
    // 使用最原始读取redux数据的方法
    const token = localStorage.getItem('token');
    if (token) {
        // 携带token参数
        (config.headers as any).token = token;
    }
    return config;
});

// 配置响应拦截器
request.interceptors.response.use(
    (response) => {
        // 对响应数据做点什么
        return response
    },
    (error) => {
        // 对响应错误做点什么
        return Promise.reject(error)
    }
)